#ifndef DATABASEOP_H
#define DATABASEOP_H

#include <winsock2.h>
#include"mysql.h"
#include<string>

using namespace std;

class CDbOp
{
public:
	CDbOp()
	{
		mysql_init(&mysql);
		get_connect("localhost", "root", "", "test", 3306, 0, 0);
	}

	bool get_connect(      //  建立数据库连接
		const char *host,
		const char *user,
		const char *passwd,
		const char *db,
		unsigned int port,
		const char *unix_socket,
		unsigned int client_flag);

	MYSQL_RES * executeSql(const string &sql);    //   执行SQL语句的函数
	int addNewMember(const string &name, const string &address, const string &professional);    // 添加新会员
	int addNewCardToYaer(const string &name);    //  添加新年卡
	bool checkIfExistInYear(const string &condition);     //  检查是否存在多张年卡

	int addNewCardToTime(const string &name, const string &times);     //  添加次卡
	bool checkIfExistInTime(const string &condition);   //  检查是否存在多张次卡

	string selectMemberID(const string &name);      //  获取会员的ID
	bool checkIfExistInMember(const string &condition);     //  检查会员是否存在
	string changTypeToString(int src);          //  将整数转换为字符串

	//  以下为V2版本新添加功能

	int addNewCourse(const string &coursename);     //  添加新课程
	bool checkIfExistInCourse(const string &condition);     //  检查课程是否存在

	int addNewCoach(const string &firstname, const string &lastname, const string &age, const string &skill);    //  添加新教练
	bool checkIfExistInCoach(const string &condition);    //  检查教练是否存在
 
	int addNewSchedule(const string &time, const string &coursename, const string &coachname);    //  添加新的排课计划
	bool checkIfExistInSchedule(const string &condition);     //  检查排课计划是否存在

	int addNewOrderCourse(const string &studentname, const string &time);     //  添加新的课程预订
	bool checkCourseTime(const string &condition);      //  检查预订是否存在

	~CDbOp()
	{
		mysql_close(&mysql);
	}

private:
	MYSQL mysql;
};
#endif